package org.example;

import java.util.Comparator;
import java.util.TreeSet;

public class TreeSet_Demo3 {
    public static void main(String[] args) {

        //第二种排序 比较器排序 创建集合时自定义比较器comparator比较器对象指定规则
        TreeSet<String> ts=new TreeSet<>(new Comparator<String>() {
            @Override
            //o1表示当前要添加对象 o2表示已经存在对象
            //返回负数：o1应该排在o2前面
            //返回正数：o1应该排在o2后面
            //返回0：o1和o2相等
            public int compare(String o1, String o2) {
                int i= o1.length()-o2.length();
                //如果长度相同 则按照字典顺序排序 否则按照长度排序（由短到长）
                return i==0?o1.compareTo(o2):i;
            }
        });

        ts.add("akjp");
        ts.add("que");
        ts.add("wrt");
        ts.add("klu");
        ts.add("zha");
        ts.add("cmp");
        System.out.println(ts);

    }
}
